/*
  挑战怪物
  题面描述
    小杨正在和一个怪物战斗，怪物的血量为 h，只有当怪物的血量恰好为 0 时小杨才能够成功击败怪物。
    小杨有两种攻击怪物的方式：
      物理攻击。假设当前为小杨第 i 次使用物理攻击，则会对怪物造成 2^(i-1) 点伤害。
      魔法攻击。小杨选择任意一个质数 x（ x 不能超过怪物当前血量），对怪物造成 x 点伤害。
        由于小杨并不擅长魔法，他只能使用至多一次魔法攻击。
    小杨想知道自已能否击败怪物，如果能，小杨想知道自已最少需要多少次攻击。
  输入格式
    第一行包含一个正整数 t，代表测试用例组数。
    接下来是 t 组测试用例。对于每组测试用例，第一行包含一个正整数 h，代表怪物血量。
  输出格式
    对于每组测试用例，如果小杨能够击败怪物，输出一个整数，代表小杨需要的最少攻击次数，如果不能击败怪物，输出 -1。
  样例1
    输入
      3
      6
      188
      9999
    输出
      2
      4
      -1
    说明:
      对于第一组测试用例，一种可能的最优方案为，
        小杨先对怪物使用魔法攻击，选择质数 5 造成 5 点伤害;
        之后对怪物使用第 1 次物理攻击，造成 2^(1-1) = 1 点伤害，怪物血量恰好为 0，小杨成功击败怪物。
  数据范围
    子任务编号   数据点占比        n            m
        1           20%         <= 5         <= 10
        2           20%         <= 10        <= 100
        3           60%         <= 10        <= 10^5
    对于全部数据，保证有 1 <= t <= 10, 1 <= h <= 10^5。
*/